{"path":"src/app/api/admin/reviews/[id]/route.ts","size":1343,"locked":false,"binary":false,"truncated":false,"content":"import { createClient } from \"@/lib/supabase/server\";\nimport { supabaseAdmin } from \"@/lib/supabase/admin\";\nimport { NextResponse } from \"next/server\";\n\nexport const dynamic = \"force-dynamic\";\n\nexport async function POST(\n  request: Request,\n  { params }: { params: { id: string } }\n) {\n  if (!supabaseAdmin) {\n    return NextResponse.json({ error: \"Database not connected\" }, { status: 503 });\n  }\n\n  const supabase = await createClient();\n  if (!supabase) return NextResponse.json({ error: \"Database not connected\" }, { status: 503 });\n\n  const { data: { user } } = await supabase.auth.getUser();\n  if (!user) return NextResponse.json({ error: \"Unauthorized\" }, { status: 401 });\n\n  const { data: isAdmin } = await supabase\n    .from(\"admin_users\")\n    .select(\"user_id\")\n    .eq(\"user_id\", user.id)\n    .maybeSingle();\n\n  if (!isAdmin) return NextResponse.json({ error: \"Forbidden\" }, { status: 403 });\n\n  const body = await request.formData();\n  const method = body.get(\"_method\");\n\n  if (method === \"DELETE\") {\n    const { error } = await supabaseAdmin.from(\"reviews\").delete().eq(\"id\", params.id);\n    if (error) return NextResponse.json({ error: error.message }, { status: 500 });\n    return NextResponse.redirect(new URL(\"/admin/reviews\", request.url));\n  }\n\n  return NextResponse.json({ error: \"Invalid method\" }, { status: 400 });\n}\n"}